1. Field of the Invention
The present invention relates to the field of computer systems. Specifically, the present invention relates to the field of computer system architectures incorporating a programmable non-volatile form of basic operating system processing logic.
2. Description of Related Art
Prior art computer systems are typically boot strapped (i.e. power-up initialized) using the processing logic (i.e. firmware) stored within the read-only memory device (ROM) which is internal to the computer system. Because the read-only memory device is non-volatile (yet not dynamically programmable), the firmware within ROM is guaranteed to contain valid data or instructions. Thus, the prior art computer system can be reliably boot- strapped after power-up after using firmware within ROM. Many computer systems having successfully used this technique. One such system is the IBM Personal Computer (PC) developed by the IBM Corporation of Armonk, N.Y. Prior art versions of the IBM PC use read-only memory devices for storage of firmware or a basic input/output operating system (BIOS) software program. The BIOS is operating system processing logic that provides the lowest level of software control over the hardware and resources of the computer system. ROM storage may also be used for non-programmable non-volatile retention of network configuration data or applications specific data. ROM devices in the prior art include conventional read-only memory devices (ROM), programmable read-only memory devices (PROM), and erasable programmable read-only memory devices (EPROM).
Although ROM based computer systems have been very successful in the prior art, a number of problems exist with the use of non-dynamically programmable non-volatile memory devices in these computer systems. Read-only memory devices must be programmed with a BIOS and/or data prior to being placed into the system during production and assembly of the computer system. Often, the BIOS ROM is installed on a system circuit board within the computer housing. In order to replace, modify, or update firmware in a ROM based computer system, the computer housing must be removed and ROM devices on a system circuit board internal to the computer system must be disconnected and replaced or reprogrammed. This invasive ROM replacement and reprogramming procedure is disadvantageous for a number of reasons. First, the ROM replacement operation typically must be performed manually by qualified field service or computer repair personnel; thus, the operation tends to be expensive and time consuming. Secondly, even qualified technical service personnel may introduce problems during the ROM replacement operation. If solder connections are necessary, existing connections may be damaged or weakened in the process. Also, electrostatic discharge may inadvertently cause damage to other components on the circuit board during the ROM replacement operation. Thirdly, ROM based computer systems are not easily customized for specific applications. Such customization includes modifications for operation in non-English speaking countries. In order to customize a computer system by storing language specific data in non-volatile memory, a user must program and install a read-only memory device on a circuit board in the computer system. Because of the inconvenient ROM installation procedure in the prior art, a user is unable or less likely to customize his/her computer system. Moreover, the manufacture of computer systems is complicated if an application specific ROM must be installed using a hardware installation procedure.
A dynamic non-volatile memory update apparatus and method is described in a co-pending U.S. patent application Ser. No. 07/695,952, filed May 6, 1991 entitled "Dynamic Non-Volatile Memory Update in a Computer System". The referenced patent application describes a computer system and method wherein a portion of the non-volatile memory may be modified or updated without removal of system hardware components. This system uses a form of non-volatile memory known as flash memory. Flash memory provides a dynamically programmable non-volatile form of memory that is not destroyed when power is removed from the computer system; however, the contents of flash memory may be erased and dynamically reprogrammed without removing the flash memory device from the circuit. Flash memory devices are well known in the art. One such flash memory device is a 28F001BT flash memory device which is a 1M bit memory device manufactured by Intel Corporation of Santa Clara, Calif. It will be apparent to those of ordinary skill in the art that other forms of reprogrammable non-volatile memory devices may be used.
Conventional computer systems provide a means for dynamically reprogramming a non-volatile memory device installed within the system itself. In this configuration, error free loading of the non-volatile memory device is assured using signals internal to the computer system. However, it is advantageous to connect an external host system to a unit to be programmed containing a non-volatile memory device. The host system can then be used to program or reprogram the non-volatile memory on the unit containing the non-volatile memory. For example, a non-volatile memory device containing a BIOS may be installed on a function board such as a modem or network interface board. A host system may be connected to such a board using a serial or parallel data communications link. The host system may then be used to program or reprogram the BIOS contained within the non-volatile memory device. It is critical however that the programming of the contents of the non-volatile memory device is performed in an error free manner. Conventional systems risk errors induced by serial or parallel transmission of the code or data to be installed in the non-volatile memory device.
Thus, a better apparatus and method for dynamic error-free loading of a non-volatile memory device is required.